/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.isd.inventario.rn;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import org.primefaces.model.SortOrder;
import com.isd.global.dao.MonedaDAO;
import com.isd.global.excepciones.RollbackFailureException;
import com.isd.global.util.JsfUtil;
import com.isd.inventario.dao.ListaPrecioDAO;
import com.isd.inventario.dao.ProductoDAO;
import com.isd.inventario.modelo.Producto;
import com.isd.inventario.vista.ItemCatalogo;
import net.sf.jasperreports.compilers.JavaScriptEvaluatorScope;

/**
 *
 * @author Claudio
 */
@Stateless
@LocalBean
public class ListaPrecioRN {

    @EJB ListaPrecioDAO listaDePrecioDAO;
    @EJB ProductoDAO  productoDAO;
    @EJB MonedaDAO monedaDAO;
     
    public List<ItemCatalogo> getItemCatalogo(int first, int maxResult, String sortField, SortOrder so , Map<String,String> filtro){

        filtro.put("precioLista",">0");
        return listaDePrecioDAO.getItemCatalogo(first, maxResult, sortField, so, filtro);
    }

    public Integer getCantidadItemCatalogo(Map<String,String> filtro){

        filtro.put("precioLista",">0");
        return listaDePrecioDAO.getCantidadItemCatalogo(filtro);
    }

    public ItemCatalogo getItemCatalogoByProducto(Producto p, String nrocta){

        Map<String,String> filtro = new HashMap<String,String>();
        filtro.put("tippro", "='"+p.getTippro()+"'");
        filtro.put("artcod", "='"+p.getArtcod()+"'");
        filtro.put("nrocta", "='"+nrocta+"'");

        ItemCatalogo i = listaDePrecioDAO.getItemCatalogoByProducto(filtro);
        
        if(i==null){
            JsfUtil.addInfoMessage("No es posible mostrar la información solicitada");
        }else{
            i.setProducto(p);
        }
        return i;
    }

    public void generarCatalogoCliente(String nroCta) throws Exception{
        listaDePrecioDAO.generarCatalogoCliente(nroCta,true);
    }

    /**
     * Borrar todos los catálogos de los clientes excepto el 999999
     */
    public void limpiarCatalogo() throws RollbackFailureException{
        listaDePrecioDAO.limpiarCatalogo();
    }
   

}
